A network-accessible service may undergo a series of revisions in the course of its lifecycle. Each revision may add new features. Alternatively, or in addition, a new version may omit features that were used in a previous version of the service. In one technique, an administrator of the service may require that each user of the service upgrade to the current version of the service. In another technique, an administrator may allow users to continue to use a previous version of the service, even though an updated version of the service is available. In the latter technique, a first group of users can be expected to use the new version of the service while a second group of users can be expected to use one or more prior versions of the service.
A service that allows users to interact with different versions of the service faces various challenges. For example, it may be appropriate to maintain records which identify the versions that various users are using. It may also be appropriate to maintain records which set forth the way in which users who are using different versions are enabled to interact with each other. This record-keeping operation can be an unwieldy task in a service that accommodates a large number of users and/or a service that permits complex interaction among users. For instance, a server-side store which retains the above-described information may become relatively large, making it difficult to maintain and use.